home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / ptg120co.zip / SAMPLE.ARJ / SQLXPLMN.PAS < prev    next >
Pascal/Delphi Source File  |  1993-05-29  |  5KB  |  209 lines

  1. {@#PtGen1.2, English, Help#@}
  2. {@#help.txt#@}
  3. { Created : 1993-05-29
  4.  
  5. Last changes :
  6. }
  7.  
  8.  
  9. {$X+,F+,O+,R-,Q-,V-,S-,I-,L-,D-}
  10. unit SQLXPLMN;
  11. {@#Application SqlXplApp#@}
  12.  
  13. interface
  14.  
  15. {@#Stage InterfaceUses#@}
  16. uses Objects, Drivers, Views, Menus, Dialogs, App, BBDlg, PreApp;
  17.  
  18. {@#Stage InterfaceConst#@}
  19. const
  20. {@#SqlXplApp#@}
  21.   cmAbout = 2000;
  22.   cmTranslate = 2001;
  23.   cmOpenTranslateDlg = 2002;
  24.   cmClear = 2003;
  25.  
  26.  
  27. {@#Help#@}
  28.   hcNoContext = 0;
  29.   hcOK = 1991;
  30.   hcCancel = 1992;
  31.   hcYes = 1993;
  32.   hcNo = 1994;
  33.   hcZoekRecord = 1995;
  34.   hcWijzigRecord = 1996;
  35.   hcNieuwRecord = 1997;
  36.   hcVerwijderRecord = 1998;
  37.   hcExitRecord = 1999;
  38.   hcH2000 = 2000;
  39.   hcAbout = 2001;
  40.   hcH2002 = 2002;
  41.   hcH2003 = 2003;
  42.   hcH2004 = 2004;
  43.   hcOpenTranslateDlg = 2005;
  44.   hcH2006 = 2006;
  45.  
  46. {@#Stage InterfaceType#@}
  47. type
  48.   PAboutDlg = ^TAboutDlg;
  49.   TAboutDlg = object(TDialog)
  50.     constructor Init;
  51.   end;
  52.  
  53.   PXplainStatementDlg = ^TXplainStatementDlg;
  54.   TXplainStatementDlg = object(TDialog)
  55.     constructor Init;
  56.   end;
  57.  
  58. {@#tvDialog 1001#@}
  59.   TXplainStatementDlgRec = record
  60.     Statement : record  Length : word; Buffer : array[0..4096] of char;  end;
  61.   end;
  62.  
  63.  
  64. {@#SqlXplApp#@}
  65.   PSqlXplApp = ^TSqlXplApp;
  66.   TSqlXplApp = object(TPreApp)
  67.     constructor Init;
  68.     procedure InitMenuBar;  virtual;
  69.     procedure InitStatusLine;  virtual;
  70.     procedure HandleEvent(var Event : TEvent);  virtual;
  71.   end;
  72.  
  73.  
  74.  
  75. implementation
  76.  
  77. {@#Stage ImplementationUses#@}
  78. uses BBUtil, Editors, BBStrRes;
  79.  
  80.  
  81. {@#Stage ImplementationType#@}
  82. type
  83.   zzzzzzz = byte;     {* only a dummy *}
  84.  
  85. {@#Stage ImplementationCode#@}
  86.  
  87. {@#tvDialog 1000#@}
  88. constructor TAboutDlg.Init;
  89. var
  90.   R : TRect;
  91.   P : PView;
  92. begin
  93.   R.Assign(12,2, 65,16);
  94.   inherited Init(R, 'About');
  95.   Options := Options or (ofCenterX + ofCenterY);
  96.   HelpCtx := 2002;
  97.   R.Assign(2,2, 51,7);
  98.   Insert(New(PStaticText, Init(R, ''#3'SQL Explainer 1.00'#13''#13''#3'A progra' +
  99.     'm to convert Xplain statements to SQL'#13''#13''#3'(c) 1993 by Berend d' +
  100.     'e Boer and Ronald Breedveld')));
  101.   R.Assign(21,10, 31,12);
  102.   P := New(PButton, Init(R, 'O~K~', cmOK, bfDefault));
  103.   P^.HelpCtx := hcOK;
  104.   Insert(P);
  105.   SelectNext(FALSE);
  106. end;
  107. {@#tvDialog#@}
  108.  
  109.  
  110. {@#tvDialog 1001#@}
  111. constructor TXplainStatementDlg.Init;
  112. var
  113.   R : TRect;
  114.   P : PView;
  115.   HScrollBar, VScrollBar : PScrollBar;
  116. begin
  117.   R.Assign(10,3, 65,16);
  118.   inherited Init(R, 'Xplain statement');
  119.   Options := Options or (ofCenterX + ofCenterY);
  120.   HelpCtx := hcNoContext;
  121.   R.Assign(2,7, 52,8);
  122.   HScrollBar := New(PScrollBar, Init(R));
  123.   Insert(HScrollBar);
  124.   R.Assign(52,3, 53,7);
  125.   VScrollBar := New(PScrollBar, Init(R));
  126.   Insert(VScrollBar);
  127.   R.Assign(2,3, 52,7);
  128.   P := New(PMemo, Init(R, HScrollBar, VScrollBar, nil, 4096));
  129.   P^.HelpCtx := 2003;
  130.   Insert(P);
  131.   R.Assign(1,2, 12,3);
  132.   Insert(New(PLabel, Init(R, '~S~tatement', Current)));
  133.   R.Assign(11,10, 26,12);
  134.   P := New(PButton, Init(R, '~T~ranslate', cmTranslate, bfDefault));
  135.   P^.HelpCtx := 2004;
  136.   Insert(P);
  137.   R.Assign(32,10, 45,12);
  138.   P := New(PButton, Init(R, '~C~lear', cmClear, bfNormal));
  139.   P^.HelpCtx := 2006;
  140.   Insert(P);
  141.   SelectNext(FALSE);
  142. end;
  143. {@#tvDialog#@}
  144.  
  145.  
  146.  
  147.  
  148. {@#SqlXplApp#@}
  149. constructor TSqlXplApp.Init;
  150. begin
  151.   HFileName := 'help.HLP';
  152.   TPreApp.Init;
  153. end;
  154.  
  155. procedure TSqlXplApp.InitMenuBar;
  156. var
  157.   R : TRect;
  158. begin
  159.   GetExtent(R);
  160.   R.B.Y := R.A.Y + 1;
  161.   MenuBar := New(PMenuBar, Init(R, NewMenu(
  162.     NewSubMenu('~≡~', 2000, NewMenu(
  163.       NewItem('~A~bout...', '', kbNoKey, cmAbout, hcAbout,
  164.       nil)),
  165.     NewItem('~T~ranslate', '', kbNoKey, cmOpenTranslateDlg, hcOpenTranslateDlg,
  166.     nil))
  167.   )));
  168. end;
  169.  
  170. procedure TSqlXplApp.InitStatusLine;
  171. var
  172.   R : TRect;
  173. begin
  174.   GetExtent(R);
  175.   R.A.Y := R.B.Y - 1;
  176.   StatusLine := New(PPreAppStatusLine, Init(R,
  177.     NewStatusDef(0, 1990,
  178.       NewStatusKey('~F1~ Help', kbF1, cmHelp,
  179.       NewStatusKey('~F10~ Menu', kbF10, cmMenu,
  180.       NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit,
  181.       nil))),
  182.     NewStatusDef(1991, 3000,
  183.       NewStatusKey('', kbF10, cmMenu,
  184.       NewStatusKey('~F1~ Help', kbF1, cmHelp,
  185.       NewStatusKey('', kbAltF3, cmClose,
  186.       NewStatusKey('', kbAltX, cmQuit,
  187.       nil)))),
  188.     nil))
  189.   ));
  190. end;
  191.  
  192. procedure TSqlXplApp.HandleEvent (var Event : TEvent);
  193. {@#cmAbout#@}
  194. {@#tvDialog 1000#@}
  195. begin
  196.   TApplication.HandleEvent(Event);
  197.   if Event.What and evCommand <> 0 then  begin
  198.     case Event.Command of
  199.       cmAbout : ExecDialog(New(PAboutDlg, Init), nil);
  200.     else  Exit;
  201.     end;  { of case }
  202.     ClearEvent(Event);
  203.   end;
  204. end;
  205. {@#SqlXplApp#@}
  206.  
  207.  
  208. end.  { of SQLXPLMN }
  209.